package pl.chopin.model;

import java.util.List;

import pl.chopin.model.types.YardPositionType;

/** No i tu jest ciekawa klasa. Opisy poszczegolnych pol w klasie.
 *  Tranzycja trzyma zestaw akcji potrzebnych do przestawienia reji,
 *  ze "startPosition" do "endPosition". Z tym ze, akcje sa rozbite
 *  na te ktore musza zostac podjete przed tranzycja, w trakcie i po.
 *  Sluzy to temu ze np jak bedziemy chcieli sie np z pozycji A na
 *  pozycje C a jest to osiagalne przez tranzycje AB i BC to wytworzy
 *  sie specjalna dynamiczna tranzycja ktora bedzie miala zestaw akcji
 *  do podjecia przed tranzycja z zestawu poczatkowych z AB i do podjecia
 *  po tranzycji z koncowych z BC natomiast akcje z przebiegu obu tranzycji
 *  zostaną dodane (TODO: odpowiednia operacja w klasie "Action")
 *  
 *  Bazowe tranzycje musza byc zdefiniowane w xml
 * @author Pawel
 *
 */
public class YardTransition {
	//pozycje w tranzycji
	YardPositionType startPosition;
	YardPositionType endPosition;

	// sumowane gdy tranzycje sumowane
	List<Action> transitionActionsNeeded;

	//gdy tranzycje sumowane brane akcje after z ostatniej
	//i before z pierwszej
	List<Action> beforeTransitionActionsNeeded;
	List<Action> afterTransitionActionsNeeded;

	//TODO: constructor, getters, setters
}
